<?php

namespace Luka\StoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Luka\StoreBundle\Entity\Page
 *
 * @ORM\Table(name="Page")
 * @ORM\Entity
 */
class Page
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $linktitle
     *
     * @ORM\Column(name="linktitle", type="string", length=100, nullable=false)
     */
    private $linktitle;

    /**
     * @var string $title
     *
     * @ORM\Column(name="title", type="string", length=255, nullable=false)
     */
    private $title;

    /**
     * @var string $body
     *
     * @ORM\Column(name="body", type="string", length=255, nullable=true)
     */
    private $body;

    /**
     * @var boolean $showinmenu
     *
     * @ORM\Column(name="showinmenu", type="boolean", nullable=false)
     */
    private $showinmenu;

    /**
     * @var integer $ordernumber
     *
     * @ORM\Column(name="ordernumber", type="integer", nullable=false)
     */
    private $ordernumber;

    /**
     * @var string $action
     *
     * @ORM\Column(name="action", type="string", length=50, nullable=false)
     */
    private $action;

    /**
     * @var Object
     *
     * @ORM\ManyToOne(targetEntity="Object")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="object_id", referencedColumnName="id")
     * })
     */
    private $object;

    /**
     * @var Visibility
     *
     * @ORM\ManyToOne(targetEntity="Visibility")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="visibility_id", referencedColumnName="id")
     * })
     */
    private $visibility;

    /**
     * @var Language
     *
     * @ORM\ManyToOne(targetEntity="Language")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="language", referencedColumnName="name")
     * })
     */
    private $language;

    /**
     * @var Page
     *
     * @ORM\ManyToOne(targetEntity="Page")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="parent_id", referencedColumnName="id")
     * })
     */
    private $parent;

    /**
     * @var Pagetype
     *
     * @ORM\ManyToOne(targetEntity="Pagetype")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="pagetype_id", referencedColumnName="id")
     * })
     */
    private $pagetype;

    /**
     * @var Party
     *
     * @ORM\ManyToOne(targetEntity="Party")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="party_id", referencedColumnName="id")
     * })
     */
    private $party;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set linktitle
     *
     * @param string $linktitle
     */
    public function setLinktitle($linktitle)
    {
        $this->linktitle = $linktitle;
    }

    /**
     * Get linktitle
     *
     * @return string 
     */
    public function getLinktitle()
    {
        return $this->linktitle;
    }

    /**
     * Set title
     *
     * @param string $title
     */
    public function setTitle($title)
    {
        $this->title = $title;
    }

    /**
     * Get title
     *
     * @return string 
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Set body
     *
     * @param string $body
     */
    public function setBody($body)
    {
        $this->body = $body;
    }

    /**
     * Get body
     *
     * @return string 
     */
    public function getBody()
    {
        return $this->body;
    }

    /**
     * Set showinmenu
     *
     * @param boolean $showinmenu
     */
    public function setShowinmenu($showinmenu)
    {
        $this->showinmenu = $showinmenu;
    }

    /**
     * Get showinmenu
     *
     * @return boolean 
     */
    public function getShowinmenu()
    {
        return $this->showinmenu;
    }

    /**
     * Set ordernumber
     *
     * @param integer $ordernumber
     */
    public function setOrdernumber($ordernumber)
    {
        $this->ordernumber = $ordernumber;
    }

    /**
     * Get ordernumber
     *
     * @return integer 
     */
    public function getOrdernumber()
    {
        return $this->ordernumber;
    }

    /**
     * Set action
     *
     * @param string $action
     */
    public function setAction($action)
    {
        $this->action = $action;
    }

    /**
     * Get action
     *
     * @return string 
     */
    public function getAction()
    {
        return $this->action;
    }

    /**
     * Set object
     *
     * @param Luka\StoreBundle\Entity\Object $object
     */
    public function setObject(\Luka\StoreBundle\Entity\Object $object)
    {
        $this->object = $object;
    }

    /**
     * Get object
     *
     * @return Luka\StoreBundle\Entity\Object 
     */
    public function getObject()
    {
        return $this->object;
    }

    /**
     * Set visibility
     *
     * @param Luka\StoreBundle\Entity\Visibility $visibility
     */
    public function setVisibility(\Luka\StoreBundle\Entity\Visibility $visibility)
    {
        $this->visibility = $visibility;
    }

    /**
     * Get visibility
     *
     * @return Luka\StoreBundle\Entity\Visibility 
     */
    public function getVisibility()
    {
        return $this->visibility;
    }

    /**
     * Set language
     *
     * @param Luka\StoreBundle\Entity\Language $language
     */
    public function setLanguage(\Luka\StoreBundle\Entity\Language $language)
    {
        $this->language = $language;
    }

    /**
     * Get language
     *
     * @return Luka\StoreBundle\Entity\Language 
     */
    public function getLanguage()
    {
        return $this->language;
    }

    /**
     * Set parent
     *
     * @param Luka\StoreBundle\Entity\Page $parent
     */
    public function setParent(\Luka\StoreBundle\Entity\Page $parent)
    {
        $this->parent = $parent;
    }

    /**
     * Get parent
     *
     * @return Luka\StoreBundle\Entity\Page 
     */
    public function getParent()
    {
        return $this->parent;
    }

    /**
     * Set pagetype
     *
     * @param Luka\StoreBundle\Entity\Pagetype $pagetype
     */
    public function setPagetype(\Luka\StoreBundle\Entity\Pagetype $pagetype)
    {
        $this->pagetype = $pagetype;
    }

    /**
     * Get pagetype
     *
     * @return Luka\StoreBundle\Entity\Pagetype 
     */
    public function getPagetype()
    {
        return $this->pagetype;
    }

    /**
     * Set party
     *
     * @param Luka\StoreBundle\Entity\Party $party
     */
    public function setParty(\Luka\StoreBundle\Entity\Party $party)
    {
        $this->party = $party;
    }

    /**
     * Get party
     *
     * @return Luka\StoreBundle\Entity\Party 
     */
    public function getParty()
    {
        return $this->party;
    }
}